2023/12/23929字符

Set 集合

API

const arr = [1, 2, 2, 3, 4, 5]
const set = new Set(arr)  // 传入参数必须为可迭代对象
console.log(set);  //--> {1, 2, 3, 4, 5}

set.size;  //--> 5 (只读) 

set.add(2);  //--> {1, 2, 3, 4, 5} 添加
// Set 集合使用 Object.is 的方式来判断两个数是否相等,但对 +0 和 -0 做了处理:+0 ==  -0

set.has(4);  //--> true  查看是否存在此数据

set.delete(4);  //--> true  删除对应数据,没有对应数据返回 false

set.clear();  //--> undefined  清空集合

{
    // 数组去重
    const arr = [1, 2, 3, 4, 2, 3, 4, 5];
    const newArr = [...new Set(arr)];  //--> [1, 2, 3, 4, 5]
    
    const set2 = new Set([1, 2, 2, 3, 4, 5])
    set2.forEach((val, i) => {
        console.log(val);  //--> 1 2 3 4 5
        console.log(i);  //--> 1 2 3 4 5  集合中不存在下标
    })
}

Set 集合中没有重复值